import config from '@/config'

export default {
  data() {
    return {
      /**
       * @param String total 总条目数
       * @param String page 当前页数，支持 .sync 修饰符
       * @param String pageSize 每页显示条目个数，支持 .sync 修饰符
       * @param Array selections 复选框选中的数据
       */
      total: 0,
      page: 1,
      pageSize: config.pageSize,
      selections: []
    }
  },
  methods: {
    /**
     * currentPage 改变时会触发
     * @param {String} page 当前页
     */
    handleCurrentChange(page) {
      this.page = page
      this.init()
    },
    handleSizeChange(pageSize) {
      this.page = 1
      this.pageSize = pageSize
      this.init()
    },
    /**
     * 处理搜索数据，为空不传
     * @param {Object} data
     * @return {Object} res
     */
    handlerData(data) {
      let res = {}
      for (let i in data) {
        if (data[i]) {
          res[i] = data[i]
        }
      }
      return res
    },
    /**
     * 路由跳转
     */
    routerTo(name, query = {}) {
      let params = { name }
      if (Object.keys(query).length > 0) {
        params.query = query
      }
      this.$router.push(params)
    },
    /**
     * 复选框方法
     * @param {Array} val
     */
    selectionChange(val) {
      this.selections = val
    }
  }
}
